ARM Cortex-M
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
ARM Cortex-M est une famille de processeur RISC 32-bits d'architecture ARM servant à la fois de microprocesseur et de microcontrôleur à destination de l'embarqué. Elle implémente d'abord le jeu d'instructions ARMv6-M (Cortex-M0, Cortex-M0+ et Cortex-M1) puis le ARMv7-M (Cortex-M3, Cortex-M4 et Cortex-M7)cite-ref-1[1]. Cette famille a été développée par ARM Ltd parallèlement à la famille Cortex-A (ARMv7-A) destinée au marché des smartphones et tablettes tactiles et à la famille Cortex-R (ARMv7-R) destinée au temps réel.
La carte synthétiseur audio en matériel libre Axoloti utilise un Cortex-M4F, le STM32 F4 de STMicroelectronicscite-ref-diydsp-3-0[3].
Contents
• ARMv6
• ARMv7
• ARMv8
• Annexes
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
ARMv6
Cortex-M0
Le cœur Cortex-M0 est optimisé pour une petite taille de puce de silicium, il est notamment utilisé dans les puces de bas prix.
Caractéristique du cœur Cortex-M0 :
• Architecture ARMv6-M
• Pipeline 3 étapes
Options de silicium :
• Multiplier la vitesse du matériel avec 1 ou 32 cycles.
Intégrations
Les microcontrôleurs suivants sont basés sur le cœur Cortex-M0 :
PSoC 4, 4M, 4L, Infineon XMC1000, Nordic nRF51, NXP LCP1100, LCP1200, Famille NuvoTon NuMicro M0, Sonix SN32F700, STMicroelectronics STM32 F0, Toshiba TX00, Vorago VA10800 (température extrême), VA10820 (trempé aux radiations).
Les puces suivantes ont un Cortex-M0 comme cœur secondaire :
NXP LPC4300(un Cortex-M4F + un Cortex-M0) Les microcontrôleurs sans fil CC1310, CC1312, CC1352 et CC2650 de Texas Instruments, avec un processeur réseau Cortex-M3+ (CC1310) ou Cortex-M4 (CC1312 et CC1352) ainsi qu'un processeur réseau Cortex-M0 programmable plus un moteur de contrôleur de capteur breveté.
Cortex-M0+
• Architecture ARMv6-M
• Pipeline 2 étapes
Cortex-M1
• Architecture ARMv6-M
• Pipeline 3 étapes
ARMv7
Cortex-M3
Le Cortex-M3 est d'architecture ARMv7-M, il possède 3 bus AMBA 3 AHB-Lite et une unité de protection mémoirecite-ref-4[4] :
• Architecture ARMv7-M
• Pipeline 3 étapes avec prédiction de branchement
• 3 Bus AMBA 3 AHB−Lte
Cortex-M4
• Architecture ARMv7E-M
• Pipeline 3 étapes avec prédiction de branchement
• DSP
Optionnel :
• Le Cortex-M4F comporte un FPU, le FPv4-SP : simple précision conforme à la norme IEEE-754.
Cortex-M7
C'est le plus performant des processeurs de la série Cortex-Mcite-ref-6[6]
• Architecture ARMv7E-M
• Pipeline 6 étapes avec prédiction de branchement
• Thumb-1
• Thumb-2
• Support de l'Arithmétique saturée.
ARMv8
Dans le domaine des microcontrôleurs, l'architecture ARMv8 reste en 32 bits, contrairement aux domaine des Applications (Cortex-A) où l'on trouve à la fois quelques 32 bits et une majorité de 64 bits (AARCH64).
Cortex-M23
Le Cortex-M23 est annoncé en Octobre 2016 il est basé sur la nouvelle architecture ARMv8-M (un sous-ensemble des instructions ARMv8 ne comportant pas d'instructions 64 bits d'AArch64).
Il a les caractéristiques du Cortex-M0+, mais comporte, en plus des instructions de division d'entier, des fonctionnalités de sécurité TrustZone et un pipeline d'instruction en 2 étapescite-ref-7[7] :
• Architecture ARMv8-M
• DSP
• TBD
Cortex-M33
Il a les caractéristiques du Cortex-M4, comporte en plus les fonctionnalités de sécurité TrustZone et un pipeline d'instruction en 3 étapescite-ref-8[8] :
• Architecture ARMv8-M
• DSP
• TBD
Optionnel :
• FPU FPv5 : Simple précision conforme à la norme IEEE-754.
Annexes
Notes et références
cite-note-11. ↑ (en) Cortex-M0 Processor Technology sur arm.com
cite-note-22. ↑ (en) Arduino launches Cortex-M3 based platform sur electronicsweekly.com
cite-note-diydsp-33. ↑ (en) « Axoloti- a very exciting project on the STM32F4 », sur DIY DSP
cite-note-44. ↑ (en) « Cortex-M3 », sur ARM
cite-note-55. ↑ (en) « Cortex-M4 », sur ARM
cite-note-66. ↑ (en) « Cortex-M7 », sur developer.ARM.com
cite-note-77. ↑ (en) « Cortex-M23 », sur ARM
cite-note-88. ↑ (en) « Cortex-M33 », sur ARM
Liens externes
• (en + ja + zh-CN) Cortex-M sur le site d'ARM.
• (en) ARM Cortex - M3 Processor Software Development for ARM7TDMI Processor Programmers (PDF) sur ARM.com
• Portail de l’électricité et de l’électronique
• Portail de l’informatique